package service

import (
	"fmt"
	"shopping_car/common"
)

func (cs Consumer) Login() Consumer {

	var (
		username string
		passwd   string
		consumer Consumer
	)
	for {
		fmt.Print("请输入用户名：")
		fmt.Scan(&username)
		if !cs.IsExist(username) {
			fmt.Println("用户不存在！")
			if common.Isback() {
				break
			} else {
				continue
			}
		}

		fmt.Print("请输入密码：")
		fmt.Scan(&passwd)
		// 加一层信息处理层
		consumer = cs.ReadData(username)
		if consumer.Name == username && consumer.Passwd == passwd {
			fmt.Println("登录成功！")
			consumer.Islogin = true
			break
		} else {
			fmt.Println("用户名或者密码错误！")
			if common.Isback() {
				fmt.Println("登录失败！")
				break
			}

		}

	}
	return consumer

}

func (cs *Consumer) Register() {

	for {
		fmt.Printf("请输入注册的姓名：")
		var name string
		fmt.Scan(&name)

		// 判断用户是否存在
		if cs.IsExist(name) {
			fmt.Println("用户存在，请重新输入！")
			fmt.Println()
			if common.Isback() {
				break
			}
			continue
		}

		fmt.Printf("请输入注册密码： ")
		var passwd1 string
		fmt.Scan(&passwd1)

		fmt.Printf("请再次输入注册密码： ")
		var passwd2 string
		fmt.Scan(&passwd2)

		if passwd1 == passwd2 {
			var newUser = Consumer{
				Name:        name,
				Passwd:      passwd2,
				Balance:     15000,
				ShoppingCar: []ShoppingGoods{},
			}
			cs.SaveData(newUser)
			fmt.Println("恭喜您注册成功！")
			break
		} else {
			fmt.Println("两次密码不一致！请重新输入！")

			// 询问是否返回上层界面
			if common.Isback() {
				fmt.Println("用户尚未注册！")
				break
			}
		}
	}
}
